//
//  HomeViewController.swift
//  weibo
//
//  Created by mac on 15/12/14.
//  Copyright © 2015年 rong. All rights reserved.
//

import UIKit
//在不同的项目中 需要导入命名空间
import AFNetworking
import SVProgressHUD

private let HomeCellId = "HomeCellId"
class HomeViewController: BaseViewController {
    private lazy var statuses = [Status]()
    override func viewDidLoad() {
        super.viewDidLoad()
        if !userLogin {
            //没有登录的情况下 显示访客视图
            visitorLoginView?.setupInfo("登录后，别人评论你的微博，发给你的消息，都会在这里收到通知", imageName: nil)
            return
        }
        prepareTableView()
        loadData()
        //print(self.statuses)
    }
    private func prepareTableView() {
        //注册cell
        tableView.registerClass(StatusCell.self, forCellReuseIdentifier: HomeCellId)
        /**
        修改tableView固定高度
        希望tableView能够自动计算行高 需要设置两个关键属性
        设置预估行高 尽量但接近真实的行高 能够提高效率
        tableView能够自动计算行高 关键之一 就是contentView必须添加约束
        */
        tableView.estimatedRowHeight = 300
        //设置自动计算行高
        tableView.rowHeight = UITableViewAutomaticDimension
    }
    @objc private func loadData() {
        //使用viewmodel获取网络请求
        StatusListViewModel.loadHomePageData { (statuses) -> () in
            
            guard let list = statuses else {
                
                return
            }
            self.statuses = list
            //执行刷新
            self.tableView.reloadData()
        }
    }
    
    
    
    
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
    
    // MARK: - Table view data source
    
    override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
        // #warning Incomplete implementation, return the number of sections
        return 1
    }
    
    override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        // #warning Incomplete implementation, return the number of rows
        return statuses.count
    }
    override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCellWithIdentifier(HomeCellId, forIndexPath: indexPath) as! StatusCell
        cell.status = statuses[indexPath.row]
        print(statuses[indexPath.row].imageURLs!.count)
        return cell
    }
    
    
}
